package com.aspose.cells;

import java.util.ArrayList;
import java.util.Iterator;

class ztp {
   private zauk a;
   private static final com.aspose.cells.b.c.a.za b = new com.aspose.cells.b.c.a.za(new String[]{"#DIV/0!", "#N/A", "#NAME?", "#NULL!", "#NUM!", "#REF!", "#VALUE!"});

   ztp(zauk var1) {
      this.a = var1;
   }

   void a(zcfx var1) throws Exception {
      var1.b(true);
      var1.b("pivotCacheDefinition");
      var1.a("xmlns", zase.c);
      this.j(var1);
      this.e(var1);
      this.d(var1);
      this.c(var1);
      if (this.a.I != null) {
         var1.d(this.a.I);
      }

      this.b(var1);
      var1.b();
      var1.d();
      var1.e();
   }

   private void b(zcfx var1) throws Exception {
      var1.b("extLst");
      var1.b("ext");
      var1.a("uri", "{725AE2AE-9491-48be-B2B4-4EB974FC3084}");
      var1.a("xmlns:x14", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main");
      var1.b("x14:pivotCacheDefinition");
      if (this.a.a != -1) {
         var1.a("pivotCacheId", zase.y(this.a.a));
      }

      var1.b();
      var1.b();
      var1.b();
   }

   private void c(zcfx var1) throws Exception {
      if (this.a.v != null) {
         int var2 = this.a.v.getCount();
         if (var2 != 0) {
            var1.b("calculatedItems");
            var1.a("count", zase.y(var2));
            zaur var3 = this.a.v;

            for(int var4 = 0; var4 < var3.getCount(); ++var4) {
               zaus var5 = var3.a(var4);
               this.a(var1, var5);
            }

            var1.b();
         }
      }
   }

   private void a(zcfx var1, zaus var2) throws Exception {
      zbro var3 = var2.f;
      ArrayList var4 = var3.e;
      int var5 = var4.size();
      if (var5 != 0) {
         var1.b("calculatedItem");
         String var6 = var2.b();
         if (var6 != null && var6.startsWith("=")) {
            var6 = var6.substring(1);
         }

         if (var6 != null) {
            var1.a("formula", var6);
         }

         var1.b("pivotArea");
         var1.a("cacheIndex", zase.y(var3.e() ? 1 : 0));
         var1.a("outline", zase.y(var3.h() ? 1 : 0));
         var1.a("fieldPosition", zase.a(var3.a));
         var1.b("references");
         var1.a("count", zase.y(var5));

         for(int var7 = 0; var7 < var5; ++var7) {
            zbqw var8 = (zbqw)var4.get(var7);
            this.a(var1, var8);
         }

         var1.b();
         var1.b();
         var1.b();
      }
   }

   private void a(zcfx var1, zbqw var2) throws Exception {
      ArrayList var3 = var2.c;
      int var4 = var3.size();
      if (var4 != 0) {
         var1.b("reference");
         var1.a("field", zase.y(var2.b() & '\uffff'));
         var1.a("count", zase.y(var4));

         for(int var5 = 0; var5 < var4; ++var5) {
            var1.b("x");
            var1.a("v", zase.y((Integer)var2.c.get(var5)));
            var1.b();
         }

         var1.b();
      }
   }

   private void d(zcfx var1) throws Exception {
      var1.b("cacheFields");
      if (this.a.p != null) {
         var1.a("count", zase.y(this.a.p.size()));
         ArrayList var2 = this.a.p;

         for(int var3 = 0; var3 < var2.size(); ++var3) {
            zbqs var4 = (zbqs)var2.get(var3);
            this.a(var1, var4);
         }
      }

      var1.b();
   }

   private void a(zcfx var1, Object var2) throws Exception {
      if (var2 != null) {
         zbmb var3 = (zbmb)var2;
         Object var4 = var3.a;
         boolean var5 = var3.b;
         boolean var6 = var3.c;
         if (var4 == null) {
            var1.b("m", (String)null);
         }

         String var7;
         if (var4 instanceof String) {
            var7 = (String)var4;
            String var8 = zase.a(var7);
            switch(b.a(var8)) {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
               var1.b("e");
               var1.a("v", var8);
               if (var5) {
                  var1.a("f", "1");
               }

               if (var6) {
                  var1.a("u", "1");
               }

               var1.b();
               break;
            default:
               var1.b("s");
               if (!var6 && var8 != null && var8.indexOf(9) != -1) {
                  var8 = com.aspose.cells.b.a.zv.a(var8, "\t", "_x0009_");
               }

               var1.a("v", var8);
               if (var5) {
                  var1.a("f", "1");
               }

               if (var6) {
                  var1.a("u", "1");
               }

               var1.b();
            }
         } else if (var4 instanceof Double) {
            var7 = null;
            if (var6 && var3.d != null) {
               var7 = var3.d;
            } else {
               var7 = zase.b((Double)var4);
            }

            var1.b("n");
            var1.a("v", var7);
            if (var5) {
               var1.a("f", "1");
            }

            if (var6) {
               var1.a("u", "1");
            }

            var1.b();
         } else if (var4 instanceof Integer) {
            var7 = zase.y((Integer)var4);
            var1.b("n");
            var1.a("v", var7);
            if (var5) {
               var1.a("f", "1");
            }

            if (var6) {
               var1.a("u", "1");
            }

            var1.b();
         } else if (var4 instanceof Long) {
            var7 = zase.a((Long)var4);
            var1.b("n");
            var1.a("v", var7);
            if (var5) {
               var1.a("f", "1");
            }

            if (var6) {
               var1.a("u", "1");
            }

            var1.b();
         } else if (var4 instanceof DateTime) {
            var7 = ((DateTime)var4).a("yyyy-MM-dd\\THH:mm:ss.fff", com.aspose.cells.b.a.c.za.b());
            var1.b("d");
            var1.a("v", var7);
            if (var5) {
               var1.a("f", "1");
            }

            if (var6) {
               var1.a("u", "1");
            }

            var1.b();
         } else if (var4 instanceof Boolean) {
            var7 = (Boolean)var4 ? "1" : "0";
            var1.b("b");
            var1.a("v", var7);
            if (var5) {
               var1.a("f", "1");
            }

            if (var6) {
               var1.a("u", "1");
            }

            var1.b();
         }

      }
   }

   private void b(zcfx var1, Object var2) throws Exception {
      if (var2 != null) {
         zbmb var3 = (zbmb)var2;
         Object var4 = var3.a;
         boolean var5 = var3.b;
         boolean var6 = var3.c;
         if (var4 == null) {
            var1.b("m", (String)null);
         }

         if (var4 instanceof String) {
            var1.b("s");
            var1.a("v", (String)var4);
            if (var5) {
               var1.a("f", "1");
            }

            if (var6) {
               var1.a("u", "1");
            }

            var1.b();
         } else {
            String var7;
            if (var4 instanceof Double) {
               var7 = zase.b((Double)var4);
               var1.b("n");
               var1.a("v", var7);
               if (var5) {
                  var1.a("f", "1");
               }

               if (var6) {
                  var1.a("u", "1");
               }

               var1.b();
            } else if (var4 instanceof Integer) {
               var7 = zase.y((Integer)var4);
               var1.b("n");
               var1.a("v", var7);
               if (var5) {
                  var1.a("f", "1");
               }

               if (var6) {
                  var1.a("u", "1");
               }

               var1.b();
            } else if (var4 instanceof Short) {
               var7 = zase.a((Short)var4);
               var1.b("n");
               var1.a("v", var7);
               if (var5) {
                  var1.a("f", "1");
               }

               if (var6) {
                  var1.a("u", "1");
               }

               var1.b();
            } else if (var4 instanceof DateTime) {
               var7 = ((DateTime)var4).a("yyyy-MM-dd\\THH:mm:ss.fff", com.aspose.cells.b.a.c.za.b());
               var1.b("d");
               var1.a("v", var7);
               if (var5) {
                  var1.a("f", "1");
               }

               if (var6) {
                  var1.a("u", "1");
               }

               var1.b();
            } else if (var4 instanceof Boolean) {
               var7 = (Boolean)var4 ? "1" : "0";
               var1.b("b");
               var1.a("v", var7);
               if (var5) {
                  var1.a("f", "1");
               }

               if (var6) {
                  var1.a("u", "1");
               }

               var1.b();
            }
         }

      }
   }

   private void a(zcfx var1, zbqs var2) throws Exception {
      var1.b("cacheField");
      var1.a("name", var2.a);
      if (var2.q != -1) {
         var1.a("numFmtId", zase.y(var2.q));
      }

      this.a.L = var2;
      String var3 = var2.b();
      if (var3 != null) {
         var1.a("formula", zase.H(var3));
         var1.a("databaseField", "0");
      } else {
         if (var2.o) {
            var1.a("databaseField", "0");
         }

         var1.b("sharedItems");
         Iterator var4;
         Object var5;
         if (var2.v()) {
            if (var2.j()) {
               if (!var2.k()) {
                  var1.a("containsNonDate", "0");
               }

               var1.a("containsDate", "1");
            }

            var1.a("containsString", "0");
            var1.a("containsBlank", "1");
         } else {
            if (!var2.s()) {
               var1.a("containsSemiMixedTypes", "0");
            }

            if (var2.j()) {
               if (!var2.k()) {
                  var1.a("containsNonDate", "0");
               }

               var1.a("containsDate", "1");
            }

            if (!var2.i()) {
               var1.a("containsString", "0");
            }

            if (var2.u()) {
               var1.a("containsBlank", "1");
            }

            if (var2.r()) {
               var1.a("containsMixedTypes", "1");
            }

            if (var2.f() && !var2.j()) {
               var1.a("containsNumber", "1");
               if (var2.c != null) {
                  var2.c(true);
                  var4 = var2.c.iterator();

                  label100:
                  while(true) {
                     zbmb var6;
                     do {
                        if (!var4.hasNext()) {
                           break label100;
                        }

                        var5 = var4.next();
                        var6 = (zbmb)var5;
                     } while(!(var6.a instanceof Integer) && !(var6.a instanceof Double));

                     String var7 = "";
                     if (var6.a instanceof Integer) {
                        var7 = zase.y((Integer)((Integer)var6.a));
                     } else {
                        var7 = zase.b((Double)((Double)var6.a));
                     }

                     if (var7.indexOf(46) != -1) {
                        var2.c(false);
                        var2.d(true);
                        break;
                     }
                  }
               }
            }

            if (var2.g() && !var2.j()) {
               var1.a("containsInteger", "1");
            }

            if (var2.p) {
               var1.a("longText", "1");
            }
         }

         if (var2.k != null) {
            var1.a("minDate", var2.k);
         }

         if (var2.l != null) {
            var1.a("maxDate", var2.l);
         }

         if (var2.c != null) {
            var1.a("count", zase.y(var2.c.size()));
            var4 = var2.c.iterator();

            while(var4.hasNext()) {
               var5 = var4.next();
               this.a(var1, var5);
            }
         }

         var1.b();
      }

      if (var2.j != null) {
         this.b(var1, var2);
      }

      var1.b();
   }

   private void b(zcfx var1, zbqs var2) throws Exception {
      SxRng var3 = var2.j;
      var1.b("fieldGroup");
      if (var3.l != -1) {
         var1.a("par", zase.y(var3.l));
      }

      if (var3.k != -1) {
         var1.a("base", zase.y(var3.k));
      }

      if (var3.n == null) {
         if (var3.d != null) {
            var1.b("rangePr");
            var1.a("groupBy", zase.aI(var3.c));
            if (var3.b) {
               var1.a("autoEnd", "1");
            } else {
               var1.a("autoEnd", "0");
            }

            if (var3.a) {
               var1.a("autoStart", "1");
            } else {
               var1.a("autoStart", "0");
            }

            if (var3.c == 0) {
               var1.a("startNum", zase.b(var3.h));
               var1.a("endNum", zase.b(var3.i));
            } else {
               if (var3.f != null) {
                  var1.a("startDate", var3.f.a("yyyy-MM-dd\\THH:mm:ss.fff", com.aspose.cells.b.a.c.za.b()));
               }

               if (var3.g != null) {
                  var1.a("endDate", var3.g.a("yyyy-MM-dd\\THH:mm:ss.fff", com.aspose.cells.b.a.c.za.b()));
               }
            }

            if (var3.j != 1.0D) {
               var1.a("groupInterval", zase.b(var3.j));
            }

            var1.b();
         }
      } else {
         var1.b("discretePr");
         var1.a("count", zase.y(var3.n.size()));

         for(int var4 = 0; var4 < var3.n.size(); ++var4) {
            var1.b("x");
            var1.a("v", com.aspose.cells.b.a.zr.a(var3.n.get(var4)));
            var1.b();
         }

         var1.b();
      }

      if (var3.d != null) {
         this.a(var1, var3);
      }

      var1.b();
   }

   private void a(zcfx var1, SxRng var2) throws Exception {
      var1.b("groupItems");
      var1.a("count", zase.y(var2.d.size()));
      Iterator var3 = var2.d.iterator();

      while(var3.hasNext()) {
         Object var4 = var3.next();
         this.b(var1, var4);
      }

      var1.b();
   }

   private void e(zcfx var1) throws Exception {
      var1.b("cacheSource");
      var1.a("type", zase.b(this.a.d));
      if (this.a.d == 1) {
         this.i(var1);
      } else if (this.a.d == 4) {
         this.f(var1);
      }

      var1.b();
   }

   private void f(zcfx var1) throws Exception {
      var1.b("consolidation");
      if (!this.a.h) {
         var1.a("autoPage", "0");
      }

      if (this.a.f != null) {
         this.g(var1);
      }

      if (this.a.g != null) {
         this.h(var1);
      }

      var1.b();
   }

   private void g(zcfx var1) throws Exception {
      var1.b("pages");
      var1.a("count", zase.y(this.a.f.length));

      for(int var2 = 0; var2 < this.a.f.length; ++var2) {
         String[] var3 = this.a.f[var2];
         this.a(var1, var3);
      }

      var1.b();
   }

   private void a(zcfx var1, String[] var2) throws Exception {
      var1.b("page");
      var1.a("count", zase.y(var2.length));

      for(int var3 = 0; var3 < var2.length; ++var3) {
         String var4 = var2[var3];
         var1.b("pageItem");
         var1.a("name", var4);
         var1.b();
      }

      var1.b();
   }

   private void h(zcfx var1) throws Exception {
      var1.b("rangeSets");
      var1.a("count", zase.y(this.a.g.length));

      for(int var2 = 0; var2 < this.a.g.length; ++var2) {
         int[] var3 = this.a.g[var2];
         this.a(var1, var3, this.a.e[var2]);
      }

      var1.b();
   }

   private void a(zcfx var1, int[] var2, zqr var3) throws Exception {
      var1.b("rangeSet");
      if (var2.length >= 4) {
         var1.a("i4", zase.y(var2[3]));
      }

      if (var2.length >= 3) {
         var1.a("i3", zase.y(var2[2]));
      }

      if (var2.length >= 2 && var2[1] != -1) {
         var1.a("i2", zase.y(var2[1]));
      }

      if (var2.length >= 1) {
         var1.a("i1", zase.y(var2[0]));
      }

      if (var3.b != null) {
         if (var3.b.getName() != null && var3.b.getName().length() > 0) {
            var1.a("name", var3.b.getName());
         } else {
            var1.a("ref", var3.b.b());
         }
      }

      if (var3.a != null) {
         var1.a("sheet", var3.a.getName());
      }

      var1.b();
   }

   private void i(zcfx var1) throws Exception {
      if (this.a.e == null) {
         if (this.a.D != null) {
            var1.b("worksheetSource");
            var1.a("name", this.a.D);
            var1.b();
         }

      } else {
         zqr var2 = this.a.e[0];
         var1.b("worksheetSource");
         if (var2.b != null) {
            if (var2.b.getName() != null && var2.b.getName().length() > 0) {
               var1.a("name", var2.b.getName());
            } else {
               var1.a("ref", var2.b.b());
            }
         } else if (var2.c != null && var2.c.getName() != null && var2.c.getName().length() > 0) {
            var1.a("name", var2.c.getName());
         }

         if (var2.a != null && !var2.e) {
            var1.a("sheet", var2.a.getName());
         }

         if (var2.f != null) {
            var1.a("r:id", var2.f);
         }

         var1.b();
      }
   }

   private void j(zcfx var1) throws Exception {
      var1.a("xmlns", "r", (String)null, "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
      if (this.a.n != null && this.a.n.a != null) {
         var1.a("r:id", "rId1");
      }

      if (this.a.B != -1) {
         var1.a("missingItemsLimit", zase.y(this.a.B));
      }

      var1.a("createdVersion", this.a.x);
      if (this.a.b()) {
         var1.a("refreshOnLoad", "1");
      }

      if (!this.a.d(1) || this.a.n == null || this.a.n.a == null) {
         var1.a("saveData", "0");
      }

      var1.a("recordCount", zase.y(this.a.m));
   }
}
